var BookingViewPrice = function() {
    // UI Select 데이터
    this.HTMLDom = null;

    // Util class
    this.mUtil = null;

    // 가격 데이터
    this.price_data = null;

    // 예약 번호
    this.reserv_id = null;

    // 지역
    this.area = null;

    // 골프장 ID
    this.club_id = null;

    // 코스 ID
    this.course_id = null;

};

BookingViewPrice.prototype = {
    constructor : BookingViewPrice,
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // InterlockBooking class 에 연동요청
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /**
     * 실시간 예약 부킹 상세 데이터 가져오는 연동
     */
    getRsvBookingData : function($reserv_id) {
        var thisClass = this;
        var interlockBooking = new InterlockBooking();

        $.mobile.showPageLoadingMsg();

        interlockBooking.getTimeBookingDetailData($reserv_id, function($data) {
            if ($data == null) {
                // 해당 예약 번호의 데이터가 없을 경우
                console.log("data is null");
                return;
            }
            var obj = {
                club_id : $data.club_id,
                course_id : $data.course_id[0]
            }
            console.log(obj);
            thisClass.getCoursePriceData(obj);
            $.mobile.hidePageLoadingMsg();
        }, function(e) {
            alert("fail :: " + JSON.stringify(e));
            $.mobile.hidePageLoadingMsg();
        });
    },
    /**
     * 해당 골프장 코스의 가격 정보 가져오는 연동
     */
    getCoursePriceData : function($data) {
        var thisClass = this;
        var interlockBooking = new InterlockBooking();

        $.mobile.showPageLoadingMsg();

        interlockBooking.getCoursePrice($data, function($data) {
            thisClass.price_data = $data;
            console.log($data);
            thisClass.setPriceTable(thisClass.price_data);
            $.mobile.hidePageLoadingMsg();
        }, function(e) {
            alert("fail :: " + JSON.stringify(e));
            $.mobile.hidePageLoadingMsg();
        });
    },
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Method
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /**
     * 가격 테이블 셋팅
     */
    setPriceTable : function($data) {
        var data = $data;

        var greenfee_member = this._HTMLDom.greenfee_member;
        var greenfee_non_member = this._HTMLDom.greenfee_non_member;
        var greenfee_week_member = this._HTMLDom.greenfee_week_member;
        var greenfee_etc = this._HTMLDom.greenfee_etc;
        var cartfee = this._HTMLDom.cartfee;
        var caddiefee = this._HTMLDom.caddiefee;
        var rentfee = this._HTMLDom.rentfee;
        var rent_shoes = this._HTMLDom.rent_shoes;
        var course_mem_limit = this._HTMLDom.course_mem_limit;

        // 그린피 회원
        if (data.greenfee.member != undefined) {
            if (data.greenfee.member.weekday != undefined)
                greenfee_member.eq(2).html(this.mUtil.getMoneyTypeNum(data.greenfee.member.weekday));
            if (data.greenfee.member.weekend != undefined)
                greenfee_member.eq(3).html(this.mUtil.getMoneyTypeNum(data.greenfee.member.weekend));
        }

        // 그린피 비회원
        if (data.greenfee.non_member != undefined) {
            if (data.greenfee.non_member.weekday != undefined)
                greenfee_non_member.eq(1).html(this.mUtil.getMoneyTypeNum(data.greenfee.non_member.weekday));
            if (data.greenfee.non_member.weekend != undefined)
                greenfee_non_member.eq(2).html(this.mUtil.getMoneyTypeNum(data.greenfee.non_member.weekend));
        }

        // 그린피 주중회원
        if (data.greenfee.week_member != undefined) {
            if (data.greenfee.week_member.weekday != undefined)
                greenfee_week_member.eq(1).html(this.mUtil.getMoneyTypeNum(data.greenfee.week_member.weekday));
            if (data.greenfee.week_member.weekend != undefined)
                greenfee_week_member.eq(2).html(this.mUtil.getMoneyTypeNum(data.greenfee.week_member.weekend));
        }

        // 그린피 기타
        if (data.greenfee.etc != undefined) {
            if (data.greenfee.etc.weekday != undefined)
                greenfee_etc.eq(1).html(this.mUtil.getMoneyTypeNum(data.greenfee.etc.weekday));
            if (data.greenfee.etc.weekend != undefined)
                greenfee_etc.eq(2).html(this.mUtil.getMoneyTypeNum(data.greenfee.etc.weekend));
        }

        // 카트피
        if (data.cartfee != undefined) {
            cartfee.html(this.mUtil.getMoneyTypeNum(data.cartfee));
        }

        // 캐디피
        if (data.caddiefee != undefined) {
            caddiefee.html(this.mUtil.getMoneyTypeNum(data.caddiefee));
        }

        // 대여채비
        if (data.rentfee != undefined) {
            rentfee.html(this.mUtil.getMoneyTypeNum(data.rentfee));
        }

        // 대여화
        if (data.rental_shoes != undefined) {
            rent_shoes.html(this.mUtil.getMoneyTypeNum(data.rental_shoes));
        }

        // 팀인원제한
        if (data.course_mem_limit != undefined) {
            course_mem_limit.html(this.mUtil.getMoneyTypeNum(data.course_mem_limit));
        }

    },
    /**
     * 필요한 테이터 셋팅
     */
    setData : function($data) {
        this.reserv_id = $data.coursePrice.reserv_id;
    },
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Initialize
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    onPageShow : function() {
        console.log("BookingViewPrice onPageBeforeShow!");

        this.mUtil = document.globalObj.util;

        // 가격 보기 관련 데이터 셋팅 및 초기화
        this.setData(document.globalObj.BOOKING_DATA);
        this.price_data = new Object();

        var $layer = $('#price_table_layer');

        this._HTMLDom = {
            // 그린피 회원
            "greenfee_member" : $layer.find('tr:first td'),
            // 그린피 비회원
            "greenfee_non_member" : $layer.find('tr:eq(1) td'),
            // 그린피 주중회원
            "greenfee_week_member" : $layer.find('tr:eq(2) td'),
            // 그린피 기타
            "greenfee_etc" : $layer.find('tr:eq(3) td'),
            // 카트피
            "cartfee" : $layer.find('tr:eq(4) td:last'),
            // 캐디피
            "caddiefee" : $layer.find('tr:eq(5) td:last'),
            // 대여채비
            "rentfee" : $layer.find('tr:eq(6) td:last'),
            // 대여화
            "rent_shoes" : $layer.find('tr:eq(7) td:last'),
            // 팀인원제한
            "course_mem_limit" : $layer.find('tr:eq(8) td:last')
        }

        // 코스 가격 데이터 요청
        this.getRsvBookingData(this.reserv_id);
    }
};

